package by.ins.utils;


@Deprecated
public class Matrix_2{
	
}
/*
public class Matrix<T extends INuclear> implements Cloneable, Serializable,
		IMatrixImm<T>, IMatrix<T> {
	
	private static final long serialVersionUID = 1L;
	List<List<T>> matrix;
	List<T> columns;

	protected int row;
	protected int column;

	@SuppressWarnings("unchecked")
	public Matrix(int row, int column) {
		this.row = row;
		this.column = column;

		matrix = new ArrayList<List<T>>(row);
		for (int i = 0; i < row; i++) {
			List<T> tmp = new ArrayList<T>(column);
			for (int j = 0; j < column; j++) {
				tmp.add((T) new Nuclear());
			}
			matrix.add(tmp);
		}
	}
	public Matrix() {

	}

	@Override
	public int getRowsCount() {
		return row;
	}

	public int getColumnsCount() {
		return column;
	}

	@Override
	public T get(int r, int c) {
		return matrix.get(r).get(c);
	}

	@Override
	public void set(int r, int c, T t) {
		matrix.get(r).set(c, t);
	}

	@Override
	public UnmodifiableList<T> getRow(int r) {
		throw new UnsupportedOperationException();
	//	return matrix.get(r);
	}

	
	@Override
	public UnmodifiableList<T> getColumn(int column) {
		return new Column(column);
	}
	

	class Column implements UnmodifiableList<T> {
		int colmn = -1;
		List<T> row;

		public T get(int c) {
			return matrix.get(colmn).get(c);
		}

		Column(int index) {
			this.colmn = index;
			if(colmn<0){
				throw new IllegalStateException("Matrix is not initialized");
			}
			
			ArrayList< T> tmp =new ArrayList<T>(getColumnsCount());
			for(int i =0; i< getColumnsCount() ;i++){
			//	tmp.add( matrix. );
			}
 		}

		public void set(T t, int index) {
			matrix.get(colmn).set(index, t);
		}

		@Override
		public ListIterator<T> listIterator() {
			// TODO Auto-generated method stub
			return null;
		}
	}
	
	class Row implements UnmodifiableList<T>{
		
		protected int matrixRowIndex  =-1;
		protected List<T> unmRow ;
		
		Row(int rowIndex){
			if (getRowsCount() > 0){
				matrixRowIndex = rowIndex;
				unmRow = Collections.unmodifiableList(matrix.get(rowIndex));
			}else{
				new IllegalStateException("Matrix is not initialized");
			}			
		}

		@Override
		public T get(int x) {			 
			return unmRow.get(x);
		}

		@Override
		public ListIterator<T> listIterator() {
			return unmRow.listIterator();
		}
		
	}

	@SuppressWarnings("unchecked")
	@Override
	public Object clone() {
		Matrix<T> clone = new Matrix<T>();
		clone.column = this.column;
		clone.row = this.row;

		// matrix =new ArrayList<List<T>>(row);
		clone.matrix = (List<List<T>>) ((ArrayList<T>) this.matrix).clone();
		/*
		 * for(int i = 0; i < row; i++){ List<T> tmp = new ArrayList<T>(column);
		 * for(int j=0; j<column; j++){ this. tmp.add((T) new Nuclear()); }
		 * matrix.add(tmp); }
		 */
/*		return clone;
	}
	

}

*/